package com.lakeworks.mapper;

import com.lakeworks.domain.SysChannelAuth;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 渠道认证信息Mapper接口
 *
 * @author lake
 * @date 2023-03-09
 */
public interface SysChannelAuthMapper {
    /**
     * 查询渠道认证信息
     *
     * @param id 渠道认证信息主键
     * @return 渠道认证信息
     */
    SysChannelAuth selectByChannelId(Long id);

    /**
     * 查询渠道认证信息列表
     *
     * @param sysChannelAuth 渠道认证信息
     * @return 渠道认证信息集合
     */
    List<SysChannelAuth> selectSysChannelAuthList(SysChannelAuth sysChannelAuth);

    /**
     * 新增渠道认证信息
     *
     * @param sysChannelAuth 渠道认证信息
     * @return 结果
     */
    int insertSysChannelAuth(SysChannelAuth sysChannelAuth);

    /**
     * 修改渠道认证信息
     *
     * @param sysChannelAuth 渠道认证信息
     * @return 结果
     */
    int updateSysChannelAuth(SysChannelAuth sysChannelAuth);

    /**
     * 删除渠道认证信息
     *
     * @param id 渠道认证信息主键
     * @return 结果
     */
    int deleteSysChannelAuthById(Long id);

    /**
     * 批量删除渠道认证信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteSysChannelAuthByIds(Long[] ids);

    @Select("SELECT id, channel_id channelId, ak, sk, \n" +
            "auth_version authVersion, \n" +
            "create_at createAt, create_by createBy, \n" +
            "modify_at modifyAt, modify_by modifyBy, flag \n" +
            "FROM sys_channel_auth\n" +
            "WHERE ak = #{ak}\n")
    SysChannelAuth queryByAk(@Param("ak") String ak);
}
